﻿using System;
using System.Linq;
using System.Xml.Linq;
using Microsoft.DirectX;

namespace WolfGame {

  /// <summary>
  /// This class is the base for all entities.  Common properties
  /// are declared here.  Entities that need more specific information
  /// will inherit from this class and override applicable members.
  /// </summary>
  class e_EntityBase {

    #region Member Variables

    protected Common common;
    protected string fileName;

    #endregion

    #region Constructors

    /// <summary>
    /// Instantiate the class
    /// </summary>
    /// <param name="common"></param>
    public e_EntityBase(Common common, string fileName, Vector3 pos) {
      this.common = common;
      this.Position = pos;
      this.fileName = fileName ;
      LoadBasicProperties();
    }

    #endregion

    #region Loading and Updating

    /// <summary>
    /// Load the basic properties of the entity
    /// </summary>
    public virtual void LoadBasicProperties() {
      // nothing to do here
    }

    /// <summary>
    /// Do all of the updates for the entity
    /// </summary>
    public virtual void Update(){
      // nothing to do here
    }

    #endregion

    #region Properties

    public string Name { get; set; }
    public int Height { get; set; }
    public int Width { get; set; }
    public m_RenderableSurface Surface { get; set; }
    public Vector3 Position { get; set; }
    public float Scale { get; set; }
    public float SpriteWidth { get; set; }
    public float SpriteHeight { get; set; }

    #endregion
  }
}
